package com.zhou.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description :
 * @Author : zyy
 * @Date: 2024/6/13  9:19
 */
@Tag(name = "用户", description = "用户实体类")
@Data
public class Admin {

    @Schema(name = "用户id", type = "string")
    @TableId
    @ExcelProperty("用户id")
    private String id;

    @Schema(name = "真实姓名", type = "string")
    @TableField("name")
    @ExcelProperty("真实姓名")
    private String name;

    @Schema(name = "手机号", type = "string")
    @TableField("phone")
    @ExcelProperty("手机号")
    private String phone;

    @Schema(name = "密码", type = "string")
    @TableField("password")
    @ExcelProperty("密码")
    private String password;

    @Schema(name = "用户名", type = "string")
    @TableField("nick_name")
    @ExcelProperty("用户名")
    private String nickName;

    @Schema(name = "身份证", type = "string")
    @TableField("id_card")
    @ExcelProperty("身份证")
    private String idCard;

    @Schema(name = "微信号", type = "string")
    @TableField("wx_id")
    @ExcelProperty("微信号")
    private String wxId;

    @Schema(name = "是否是管理员", type = "int")
    @TableField("is_admin")
    @ExcelIgnore
    private Integer isAdmin;

    @Schema(name = "是否启用", type = "int")
    @TableField("is_status")
    @ExcelIgnore
    private Integer isStatus;

    @Schema(name = "是否注销", type = "int")
    @TableField("is_del_flag")
    @ExcelIgnore
    private Integer isDelFlag;

    @Schema(name = "vip绑定id", type = "string")
    @TableField("vip_id")
    @ExcelProperty("vip绑定id")
    private String vipId;

    @Schema(name = "创建时间", type = "date")
    @TableField("create_time")
    @ExcelProperty("创建时间")
    private Date createTime;

    @Schema(name = "修改时间", type = "date")
    @TableField("update_time")
    @ExcelProperty("修改时间")
    private Date updateTime;

    @Schema(name = "性别", type = "int")
    @TableField("gender")
    @ExcelProperty("性别")
    private Integer gender;

    @Schema(name = "头像", type = "string")
    @TableField("avatar")
    @ExcelIgnore
    private String avatar;

    @Schema(name = "地址", type = "string")
    @TableField("address")
    @ExcelProperty("地址")
    private String address;

    @Schema(name = "学历", type = "string")
    @TableField("qualification")
    @ExcelProperty("学历")
    private String qualification;

    @Schema(name = "薪水", type = "decimal")
    @TableField("salary")
    @ExcelProperty("薪水")
    private BigDecimal salary;

    @Schema(name = "爱好", type = "string")
    @TableField("hobby")
    @ExcelProperty("爱好")
    private String hobby;

    @Schema(name = "城市编码", type = "string")
    @TableField("adcode")
    @ExcelProperty("爱好")
    private String adcode;
}
